/**
 * 节流函数-简易版本
 * @param {*} callback 需要执行的函数
 * @param {*} duration 延迟时间
 */
export const throttle = (callback, duration) => {
  let start = 0

  return function() {
    const now = +Date.now()
    if (now - start > duration) { // 当前一次执行函数的时间已延迟 duration 后，则可以再次执行回调函数
      callback.apply(this, arguments) // 执行回调函数
      start = now // 记录回调函数执行的起始时间
    }
  }
}
